The invention relates generally to packet communications and, more particularly, to header compression in packet communications.
The term header compression (HC) refers to the art of minimizing the necessary bandwidth for information carried in packet headers on a per hop basis over point-to-point links. Header compression is usually realized by sending static information only initially. Semi-static information is then transferred by sending only the change from the previous header and completely random information can be sent without compression. Hence, header compression is usually realized with a state machine.
A conventional VoIP-packet (Voice over IP) consists basically of three parts with different quality requirements, as shown in FIG. 1. The three parts are:
(1) a compressed or not compressed header 11. For example, for real-time speech a conventional IP/UDP/RTP header is often used;
(2) the speech codec bits at part 12, which are most significant for the speech quality. In, for example, the GSM full rate speech codec there are three classes of bits: 1A, 1B and 2, where class 1A and class 2 speech codec bits are respectively most and least important for the speech quality; and
(3) the speech codec bits at part 13 are least important for the speech quality, for example, class 2 bits in GSM.
A conventional header compression scheme for IP/UDP/RTP typically has a soft state characteristic such that the state of the HC may depend on previous headers. An error in a compressed header may result in a loss of the corresponding packet. Because each header usually is represented as a change from the previous header (delta-coding), an error in a compressed header is a faulty state that will cause successive packets to be lost until the HC soft state is updated. If the payload for the packets with the compressed headers carries a real time service, the loss of several successive packets may be disastrous for the quality of that real time service. For example, the quality of a real time speech service will degrade substantially with successive lost speech is frames. If the speech frame error rate has a bursty characteristic, the speech quality will be worse than for the same speech frame error ratio but with a less correlated frame error characteristic.
The effects of bit errors may be different depending on where in the VoIP-packet the bit errors occur:
(1) Bit errors in part 13 of FIG. 1 (the least important speech codec bits) will result in a slightly degraded quality for the speech carried by that specific packet.
(2) Bit errors in part 12 of FIG. 1 (the most important speech codec bits) may result in a speech quality degradation so severe that the packet is judged as useless and will not be used in the speech decoder. Hence, that specific packet may be lost due to bit errors in part 12 of the packet.
(3) Bit errors in part 11 of FIG. 1 (the header, compressed or not) will probably result in the loss of that specific packet since it cannot be transferred to the upper layers of the protocol stack. Further, it can also result in a number of successive lost future packets since the header compression soft state is now corrupt. These are the most severe errors because bit errors in one packet may result in the loss of a number of successive packets.
The conventional header compression algorithms are made for narrow band, wired channels, wherein the error rate of the channel is rather stationary and small. Further, the usage of the channel does not affect other users with similar channels. This is not the case for a wireless channel. The quality of a wireless channel may change rapidly and the usage of the channel affects other users in terms of interference. In a header compression scheme for a wireless channel the probability for errors in the compressed headers will be large and the effect of these compressed header errors has to be reduced.
There are two general approaches to avoid this problem, either minimize the time it takes to update the HC soft state, or minimize the probability for bit errors in compressed headers.
One known way of updating the HC soft state is to send full headers regularly and frequently. For example, a full header can be sent in every fifth speech packet while sending compressed headers in the other packets. If a channel with a fixed bit rate is to be used, the bit rate of this channel is typically chosen with respect to the largest packet size since delay variations are not desirable. Hence, the bit rate of the channel is chosen according to a packet with a full header, resulting in a waste of resources (e.g., radio resources). Further, to achieve robustness in such a header compression scheme, the frequency of full headers must be rather large, which decreases the compression grade and efficiency of the header compression scheme. Hence, regular updates of header compression state with full headers will either result in inefficient header compression or efficient header compression without the necessary robustness against e.g., bit errors.
Another way to update the header compression soft state is for the header compression scheme to demand a soft state update whenever necessary. However, this approach requires a duplex channel with a short round trip time in order to keep the corrupt soft state periods small. Further, such a scheme also requires that the back channel carrying the soft state update request is generally reliable.
It is desirable in view of the foregoing to provide for updating the soft state of a header compression scheme while avoiding the aforementioned disadvantages of prior art approaches.
The present invention provides for updating the soft state of a header compression scheme in a communication system carrying packet traffic including a real time communication signal. The header compression state can be updated during periods when the communication signal is inactive. Also, the invention provides for updating the header compression state by stealing bits from the communication signal to carry the header update information. If the communication signal includes source encoded data, the invention provides for updating the header compression state selectively based on the bit rate of a codec that produced the source encoded data. This operation can permit header compression state updating without stealing any of the source encoded data.